Background Art
In image data (packet) transmission and reception between a transmitting terminal 11 and a receiving terminal 12 on the Internet, an image data loss (packet loss) could occur as shown in FIG. 12. Such an image data loss inevitably causes the receiving terminal 12 to reproduce jittering images and audios. In order to prevent the jittery images and audios from occurring, the lost packet needs to be retransmitted to the transmitting terminal 11.
Thus, as shown in FIG. 13, the receiving terminal 12 requests the transmitting terminal 11 to retransmit a lost image packet (p2). In response to the request from the receiving terminal 12, the transmitting terminal 11 usually retransmits the corresponding packet (p2), as shown in FIG. 14.
To reproduce the retransmitted image packet (p2) on the receiving terminal 12, it is necessary to set a reproduction start time of the image packet (p2) on the receiving terminal 12, taking into consideration of a time period required for the retransmission. Specifically, as shown in FIG. 15, the start of the reproduction needs to be delayed for 1RTT from the original estimated arrival time of the image packet (p2). Here, the Round Trip Time (RTT) is a time period required for a packet to reciprocate between the receiving terminal 12 and the transmitting terminal 11.
The time period between the original estimated arrival time and the reproduction start time is usually referred to as a reproduction delay time. In a one-on-one communication shown in FIGS. 11 to 15, the reproduction delay time is usually set according to an RTT between the transmitting and the receiving terminals. For example, the reproduction delay time is set to be either (i) a multiple of the RTT or (ii) equal to or greater than the RTT.
Stream distribution via an ALM tree is one of the common techniques to simultaneously distribute image data to multiple terminals. Described below is an outline of the ALM tree, with reference to FIGS. 16 and 17. As shown in FIG. 16, terminals 11 to 17 are connected to a star network 10, such as the Internet and a Local Area Network (LAN).
Here consider, for example, the case where the terminal 11 tries to distribute stream data directly to all the other terminals 12 to 17: This would cause the stream data amount to exceed the upper limit of the bandwidth of a line connected to the terminal 11, resulting in delay in the stream data distribution.
Thus, as shown in FIG. 17, a logically hierarchical structure is constructed to have the terminal 11; namely the distribution source of the stream data, allocated as the topmost node (root terminal). In other words, the terminal 11 distributes the stream data only to the terminals 12 and 13. Each of the terminals 12 and 13 reproduces the stream data received from the terminal 11 as well as distributes the stream data to the terminals 14 and 15, and 16 and 17 which are lower in the level. The above construction makes possible dispersing the traffic, which contributes to delay-free stream distribution.
The reproduction delay time should also be taken into consideration when images are distributed via the ALM tree as described above. Similar to the one-on-one communication, the reproduction delay time may be set according to the RTT of the retransmission data between the transmission source terminal and the receiving terminal. Described below is how to retransmit image data when the image data is lost between terminals 21 and 23 in an ALM tree including 15 terminals; namely terminals 20 to 34 shown in FIGS. 18 to 20.
The first technique involves retransmission of the lost data from the root terminal (distribution source) of the ALM tree. Specifically, as shown in FIG. 18, the terminal 23 requests (shown in a chain line) the terminal 20; namely the root terminal, to retransmit the lost data. In response to the retransmission request sent from the terminal 23, the terminal 20 transmits retransmission data (shown in a broken line) to the terminal 23.
The second technique involves retransmission of the lost data from the parent terminal of a terminal; that is the parent terminal of a terminal on the tree. Specifically, as shown in FIG. 19, the terminal 23 requests (shown in a chain line) the terminal 21; namely the parent terminal, to retransmit the lost data. In response to the retransmission request sent from the terminals 23, the terminal 21 transmits retransmission data (shown in a broken line) to the terminal 23.
The third technique involves retransmission of the lost data from the third terminal other than the above terminals; that is, another terminal than the root terminal or the parent terminal. Specifically, as shown in FIG. 20, the terminal 23 requests (shown in a chain line) the terminal 22 to retransmit the lost data. Here, the terminal 23 has no relation of connection with the terminal 22 on the ALM tree. In response to the retransmission request sent from the terminals 23, the terminal 22 transmits retransmission data (shown in a broken line) to the terminal 23.
When the first retransmission technique is employed, the RTT for setting the reference reproduction delay time is the RTT between the terminal 23 and the terminal 20; namely, the root terminal. When the second retransmission technique is employed, the RTT for setting the reference reproduction delay time is the RTT between the terminal 23 and the terminal 21 that is the parent terminal. When the third retransmission technique is employed, the RTT for setting the reference reproduction delay time is the RTT between the terminal 23 and the terminal 22 that is the third terminal.
In contrast, in Non Patent Literature, each terminal has a fixed reproduction delay time, ignoring the RTT of retransmission data between a receiving terminal and a transmission source terminal. However, this technique causes deterioration in communications quality. Since this technique ignores the actual delay between the terminals, the following problems develops: The reproduction delay time is set either too short that the lost image data is reproduced with its jitter unremoved or too long that the reproduction start time delays excessively.